#ifndef BLOQUE_H_
#define BLOQUE_H_

#include "Componente.h"
#include "Compuesto.h"
#include "Registro.h"
#include <list>
#include <cstdio>
#include <cstdlib>
#include <string>
#include "../Conf/Tamanios.h"
#include "../Conf/TipoDatos.h"
#include "../Conf/CodigosResultadosIndices.h"
#include "../Externa/Clave.h"

using namespace std;

class Bloque: public Componente ,public Compuesto {

	    	private:

				int nroBloque;

				list <Registro>* registros;

				int tamanio;

	    		int espacioLibre;

	    	public:

	    		Bloque ();

	    		Bloque(int tamanio);

	    		Bloque(int nroBloque,int tamanio);

	    		virtual ~Bloque();

	    		int getNroBloque();

	    		void setNroBloque(int nroBloque);

	    		void setEspacioLibre(int espacioLibre);

	    		list <Registro>* getRegistros();

	    		int getEspaciolibre();

	    		int getTamanio();

	    		virtual string Serializar();

	    		virtual void desSerializar (string bloque);

};

#endif /* BLOQUE_H_ */
